const fs = require('fs')
const path = require('path')
// 调试日志保存 使用方法 logDebug(currentFile,,xxx,xxxx)  xxxx 不限制
const logDebug = require('./log_debug') // 日志工具
const currentFile = path.join(__filename)    // 当前文件的路径
// 存放log的文件夹
const folders = ['access', 'consoleLog', 'errors', 'responses']
const day_timestamp = 60 * 60 * 24 * 1000       // 一天的时间戳
let reserve_time = new Date().getTime() - day_timestamp * 7  // 现在的时间减去7天，log日志只保留七天的日志

const logFileDelete = () => {
    // 开始遍历文件夹
    folders.forEach((foldername) => {
        // 文件夹的位置
        let folder = path.join(__dirname, '../', 'logs', foldername, '/')
        // 读取文件夹的文件
        fs.readdir(folder, (err, files) => {
            if (err) {
                return logDebug(currentFile, err)
            }
            // 遍历文件夹下的log文件
            files.forEach(log => {
                let logTime = new Date(log.slice(0, log.lastIndexOf('.')))
                // 删除不在7天内的log文件
                if (logTime <= reserve_time) {
                    fs.unlink(folder + log, err1 => {
                        if (err) return logDebug(currentFile, err1)
                        // logDebug(currentFile,'文件删除成功')
                    })
                }

            })
        })
    })
}
module.exports = logFileDelete